4. Просек и медијана низа бројева¶
У овој лекцији ћеш научити:
- како да израчунаш просек низа бројева;
- како да сортираш низ и нађеш његову медијану;
- како да филтрираш податке; и
- како да на истом графикону прикажеш и податке и њихов просек, или податке и њихову медијану.
4.1. Просек низа¶
Постоји много ситуација када се низ бројева може згодно описати неком карактеристичном вредношћу. На пример, ученици добијају оцене из много предмета, али на крају школске године школски систем жели да "изведе" једну оцену и да том оценом окарактерише рад ученика у тој години.
Временом се као један од погодних представника низа бројева показао просек. Просек низа бројева се рачуна овако:
$$ \hbox{просек низа } [x_1, x_2, \dots, x_n] = \frac{x_1 + x_2 + \dots + x_n}{n}. $$Дакле, да бисмо добили просек низа бројева саберемо све елементе низа и тако добијени број поделимо дужином низа.
У Пајтону се обе ове активности могу обавити позивом одговарајуће уграђене функције: функција len
рачуна дужину низа, док
функција sum
рачуна збир елемената низа бројева.
На пример:
L = [1, 3, 5, 7, 9, 10]
print(len(L))
print(sum(L))
(Примети да су ове функције уграђене у Пајтон и да нема потребе ловити их по библиотекама!)
Према томе, просек низа бројева се у Пајтону рачуна овако:
print("Prosek niza brojeva", L, "je", sum(L) / len(L))
Како ћемо у много наврата рачунати просек, дефинисаћемо нову функцију која га рачуна. У претходним разредима смо се већ срели са дефиницијама нових функција у Пајтону и зато мали програм који следи не би требало да представља изненађење за тебе:
def prosek(L):
return sum(L) / len(L)
Претходни програм је у систем унео нову дефиницију: функција prosek
ће прихватити неки низ L
и онда ће као резултат свог рада вратити збир елемената низа L
подељен дужином низа L
(дакле, просек елемената тог низа).
Примети да је списак Пајтон наредби које представљају тело функције и објашњавају шта функција ради увучен за четири празнине.
Да видимо како ради наша нова функција:
print("Prosek niza brojeva", L, "je", prosek(L))
У ћелији испод унете су оцене једног ученика из информатике и приказан је њихов просек:
ocene = [5, 3, 5, 4, 4, 5]
print("Prosek ocena iz informatike je", prosek(ocene))
Ако ћемо искрено, просек оцена се увек приказује заокружен на две децимале. У Пајтону постоји уграђена функција round(x, n)
која заокружује дати број x
на n
децимала. На пример:
round(1.666666666, 2)
Према томе, просек оцена из информатике сада можемо да добијемо овако:
print("Prosek ocena iz informatike je", round(prosek(ocene), 2))
4.2. Сортирање низа и медијана¶
Сортирати низ значи испремештати његове елементе тако да буду поређани по величини, од мањих ка већим или обрнуто. На пример:
$$ [3, 1, 2, 5, 0, -1, 4] \to [-1, 0, 1, 2, 3, 4, 5] $$Уграђена функција sort
сортира низ и позива се овако:
L = [3, 1, 2, 5, 0, -1, 4]
L.sort()
Ако проверимо вредност променљиве L
након позива функције sort
видећемо да су елементи листе сада поређани од мањих ка већим вредностима:
L
Ако желимо да поређамо елементе листе L
од већих ка мањим вредностима, то можемо да урадимо овако:
L.sort(reverse=True)
L
Опција reverse=True
каже функцији sort
да желимо да сортирамо елементе листе у "обрнутом" поретку: од већих ка мањим вредностима.
Ако су подаци са којима радимо "јако разбацани" и "имају велика одступања" може се десити да просек низа није добар представник целог низа. Зато се као друга карактеристична вредност низа често користи медијана.
Медијана низа је елемент на средини сортираног низа.
def medijana(L):
n = len(L)
L.sort()
return L[n//2]
У многим ситуацијама медијана боље представља „средњу вредност“ низа него аритметичка средина низа. Ево примера.
У листи zarade
дате су месечне зараде запослених у једној компанији исказане у америчким доларима.
zarade = [647, 570, 587, 576, 646, 519, 585, 686, 644, 604, 562, 589, 536, 675, 514, 620, 561, 567, 673, 577, 627, 643, 592, 509, 645, 625, 645, 608, 502, 552, 647, 601, 632, 583, 523, 546, 681, 637, 636, 541, 587, 573, 530, 596, 695, 619, 619, 543, 573, 672, 557, 668, 653, 513, 631, 656, 567, 538, 519, 576, 547, 687, 597, 644, 676, 661, 622, 593, 591, 629, 526, 536, 508, 510, 514, 584, 549, 632, 527, 602, 633, 636, 637, 639, 532, 619, 578, 534, 513, 540, 638, 580, 642, 553, 530, 699, 642, 556, 629, 620, 685, 574, 656, 673, 516, 591, 628, 513, 594, 667, 513, 528, 694, 660, 632, 570, 671, 522, 655, 694, 684, 635, 559, 561, 541, 643, 516, 655, 522, 554, 611, 669, 564, 540, 642, 645, 590, 658, 669, 530, 679, 572, 700, 637, 650, 577, 696, 695, 551, 586, 581, 547, 545, 558, 670, 548, 536, 622, 586, 700, 585, 568, 582, 589, 649, 575, 584, 514, 526, 686, 668, 532, 582, 651, 693, 693, 556, 509, 562, 672, 673, 658, 573, 509, 698, 652, 541, 605, 659, 688, 591, 691, 548, 699, 656, 642, 598, 562, 549, 578, 515, 558, 556, 504, 602, 521, 660, 644, 587, 683, 575, 592, 580, 594, 573, 651, 690, 544, 608, 627, 631, 529, 630, 506, 693, 691, 665, 508, 621, 540, 508, 522, 660, 585, 679, 542, 600, 678, 557, 687, 571, 610, 502, 695, 557, 577, 668, 580, 631, 618, 587, 545, 568, 518, 693, 685, 626, 605, 570, 695, 672, 691, 556, 550, 530, 661, 634, 512, 666, 533, 507, 548, 672, 509, 578, 501, 688, 603, 611, 557, 615, 589, 535, 652, 690, 592, 608, 640, 697, 614, 571, 516, 692, 513, 556, 624, 648, 585, 680, 514, 519, 688, 667, 526, 617, 609, 661, 686, 524, 502, 558, 576, 568, 673, 603, 606, 548, 593, 626, 649, 597, 617, 649, 519, 630, 632, 610, 689, 594, 584, 529, 649, 628, 510, 588, 585, 572, 622, 566, 699, 573, 698, 561, 596, 529, 541, 689, 666, 536, 517, 650, 565, 615, 515, 638, 653, 695, 522, 611, 660, 574, 552, 594, 685, 699, 533, 681, 586, 632, 518, 592, 506, 506, 643, 602, 533, 553, 654, 610, 510, 578, 584, 534, 616, 629, 686, 622, 545, 605, 680, 700, 647, 564, 587, 569, 686, 504, 661, 639, 688, 681, 572, 544, 563, 549, 524, 632, 666, 639, 529, 520, 622, 699, 563, 529, 538, 533, 579, 679, 619, 591, 527, 579, 561, 694, 676, 536, 558, 546, 590, 567, 539, 596, 515, 674, 655, 657, 537, 681, 602, 645, 598, 595, 671, 643, 602, 695, 620, 639, 669, 653, 632, 556, 501, 572, 635, 699, 601, 699, 607, 552, 589, 687, 501, 615, 567, 538, 559, 520, 572, 519, 643, 641, 696, 539, 570, 567, 506, 552, 534, 552, 625, 508, 564, 508, 543, 509, 507, 502, 511, 683, 627, 617, 655, 655, 682, 624, 683, 602, 566, 525, 645, 535, 668, 590, 664, 661, 632, 527, 675, 638, 507, 623, 645, 542, 538, 618, 662, 523, 675, 518, 663, 619, 610, 681, 530, 663, 548, 652, 650, 590, 521, 558, 619, 566, 615, 680, 665, 612, 664, 668, 563, 649, 532, 674, 553, 627, 544, 513, 629, 635, 581, 521, 681, 595, 599, 522, 566, 614, 652, 671, 692, 622, 574, 697, 695, 500, 553, 559, 671, 691, 683, 612, 609, 508, 647, 599, 543, 658, 648, 557, 583, 546, 620, 634, 545, 639, 559, 587, 575, 533, 507, 565, 551, 583, 577, 583, 631, 586, 647, 519, 550, 677, 556, 619, 549, 676, 616, 559, 539, 593, 687, 699, 632, 578, 603, 621, 560, 500, 585, 581, 593, 583, 525, 560, 518, 515, 658, 551, 606, 657, 563, 521, 524, 529, 688, 579, 673, 644, 539, 664, 585, 600, 589, 574, 573, 679, 624, 587, 652, 660, 538, 600, 608, 693, 639, 647, 557, 536, 581, 597, 516, 530, 510, 557, 561, 680, 518, 534, 573, 609, 600, 575, 545, 571, 504, 604, 619, 606, 567, 653, 524, 644, 678, 661, 500, 516, 601, 521, 605, 589, 528, 576, 524, 616, 576, 567, 693, 668, 537, 659, 647, 560, 561, 597, 564, 529, 629, 607, 559, 532, 649, 550, 533, 677, 554, 685, 690, 696, 693, 528, 569, 598, 546, 668, 588, 575, 618, 652, 639, 673, 661, 519, 565, 555, 698, 589, 686, 639, 520, 660, 595, 619, 632, 651, 697, 614, 615, 515, 574, 668, 657, 591, 602, 506, 691, 540, 662, 688, 519, 573, 630, 620, 642, 517, 644, 543, 586, 638, 574, 593, 553, 549, 537, 679, 679, 615, 681, 556, 635, 584, 606, 653, 653, 615, 639, 563, 642, 633, 537, 584, 699, 639, 695, 697, 635, 634, 630, 624, 690, 669, 515, 663, 651, 696, 643, 548, 563, 609, 690, 546, 634, 667, 543, 692, 652, 553, 590, 647, 505, 621, 526, 600, 533, 541, 597, 503, 571, 575, 609, 527, 593, 571, 690, 504, 641, 659, 589, 601, 667, 627, 654, 673, 645, 533, 690, 699, 567, 621, 640, 657, 537, 634, 608, 621, 676, 665, 584, 610, 656, 610, 690, 591, 653, 603, 514, 520, 546, 547, 678, 682, 697, 532, 591, 504, 532, 660, 658, 623, 554, 677, 601, 611, 504, 643, 615, 630, 576, 595, 520, 695, 506, 548, 656, 541, 520, 628, 530, 658, 671, 597, 549, 646, 617, 599, 648, 649, 511, 627, 538, 556, 585, 537, 658, 583, 557, 647, 560, 582, 636, 622, 646, 511, 683, 595, 665, 584, 607, 534, 609, 505, 555, 609, 604, 592, 549, 507, 536, 691, 669, 698, 575, 502, 556, 613, 540, 645, 696, 603, 698, 612, 695, 502, 671, 623, 688, 694, 644, 581, 689, 552, 583, 597, 537, 650, 687, 624, 653, 656, 523, 518, 659, 693, 558, 683, 501, 520, 663, 573, 696, 584, 544, 585, 634, 551, 515, 617, 671, 554, 688, 604, 664, 596, 644, 587, 693, 612, 677, 633, 679, 557, 576, 590, 502, 543, 615, 600, 600, 697, 632, 596, 628, 598, 514, 598, 657, 622, 639, 576, 577, 602, 680, 518, 678, 671, 541, 545, 522, 587, 574, 665, 601, 555, 561, 546, 661, 687, 540, 604, 618, 552, 512, 524, 663, 589, 659, 688, 690, 557, 691, 604, 547, 556, 630, 679, 570, 526, 633, 587, 606, 649, 553, 650, 527, 534, 582, 664, 610, 607, 620, 632, 667, 685, 551, 580, 613, 615, 513, 584, 511, 563, 627, 555, 545, 530, 660, 572, 653, 611, 671, 551, 573, 690, 556, 689, 589, 556, 583, 559, 636, 598, 587, 637, 650, 512, 523, 696, 696, 688, 524, 642, 580, 675, 677, 576, 621, 647, 628, 614, 525, 554, 613, 558, 578, 589, 568, 555, 520, 679, 633, 559, 628, 551, 512, 667, 602, 555, 619, 662, 699, 552, 659, 640, 635, 589, 578, 555, 689, 614, 641, 606, 662, 511, 651, 696, 553, 660, 564, 615, 641, 592, 513, 609, 591, 589, 681, 575, 541, 552, 562, 682, 636, 572, 691, 523, 572, 588, 553, 608, 668, 552, 612, 671, 636, 569, 698, 507, 671, 542, 592, 663, 574, 605, 650, 675, 548, 504, 669, 619, 647, 628, 687, 638, 672, 554, 635, 526, 536, 576, 502, 560, 592, 638, 587, 518, 570, 640, 519, 510, 682, 647, 666, 549, 515, 651, 656, 569, 691, 593, 550, 522, 683, 574, 597, 628, 503, 672, 544, 516, 655, 665, 665, 616, 631, 557, 565, 607, 684, 655, 622, 586, 628, 629, 645, 602, 570, 626, 552, 697, 534, 570, 672, 506, 538, 626, 595, 582, 570, 695, 600, 689, 535, 555, 619, 502, 589, 589, 673, 643, 618, 684, 527, 510, 579, 500, 547, 561, 664, 647, 637, 531, 611, 585, 582, 519, 549, 689, 696, 516, 536, 591, 542, 697, 631, 641, 667, 509, 635, 643, 555, 667, 592, 633, 650, 619, 628, 562, 576, 602, 555, 637, 547, 605, 597, 563, 562, 620, 628, 652, 536, 618, 695, 517, 654, 588, 598, 598, 633, 692, 521, 641, 564, 610, 693, 507, 594, 563, 528, 532, 669, 597, 648, 608, 577, 677, 625, 657, 668, 554, 517, 508, 568, 629, 660, 519, 597, 668, 591, 655, 639, 646, 562, 664, 551, 635, 526, 581, 637, 503, 500, 531, 533, 700, 570, 643, 609, 633, 587, 697, 650, 603, 536, 661, 672, 652, 588, 687, 585, 521, 554, 530, 565, 557, 644, 532, 607, 558, 654, 540, 657, 518, 552, 603, 596, 627, 525, 505, 670, 545, 697, 550, 525, 616, 536, 694, 519, 595, 529, 574, 653, 644, 519, 543, 649, 634, 569, 505, 582, 674, 504, 655, 691, 609, 532, 610, 544, 579, 505, 531, 516, 523, 568, 519, 627, 533, 650, 599, 637, 660, 617, 522, 614, 513, 640, 616, 524, 510, 605, 616, 658, 639, 562, 667, 648, 528, 634, 682, 572, 573, 593, 644, 584, 684, 592, 574, 570, 558, 532, 567, 565, 610, 501, 581, 624, 672, 551, 530, 633, 650, 666, 681, 563, 521, 608, 533, 666, 688, 681, 594, 537, 651, 587, 688, 503, 610, 545, 671, 521, 625, 682, 620, 543, 642, 661, 691, 581, 607, 557, 586, 592, 516, 574, 648, 504, 537, 641, 558, 562, 561, 526, 693, 500, 610, 694, 605, 518, 511, 524, 597, 689, 553, 648, 690, 606, 529, 529, 621, 570, 619, 674, 652, 598, 668, 634, 658, 509, 593, 662, 527, 666, 526, 685, 686, 613, 655, 652, 521, 503, 619, 560, 594, 666, 689, 551, 514, 620, 505, 631, 508, 579, 688, 556, 644, 612, 620, 529, 635, 617, 659, 679, 516, 528, 685, 635, 587, 639, 620, 610, 560, 524, 670, 557, 696, 518, 676, 635, 510, 635, 532, 582, 694, 685, 531, 695, 589, 694, 525, 636, 590, 670, 690, 593, 557, 571, 502, 667, 606, 560, 665, 657, 632, 539, 601, 640, 585, 699, 516, 587, 694, 677, 621, 664, 655, 523, 648, 543, 598, 566, 639, 583, 667, 646, 636, 508, 551, 574, 596, 638, 515, 521, 559, 648, 548, 673, 646, 656, 639, 573, 578, 630, 552, 555, 530, 558, 597, 528, 551, 557, 556, 648, 606, 634, 687, 544, 657, 552, 553, 510, 598, 555, 642, 602, 662, 670, 679, 683, 556, 630, 641, 617, 621, 685, 561, 559, 698, 683, 645, 582, 652, 573, 583, 553, 616, 533, 640, 542, 685, 534, 675, 533, 511, 621, 685, 669, 511, 514, 590, 564, 598, 652, 504, 633, 663, 528, 505, 627, 691, 672, 653, 602, 602, 653, 682, 533, 517, 619, 647, 530, 500, 656, 548, 641, 568, 597, 633, 678, 557, 585, 581, 661, 503, 523, 601, 685, 607, 531, 622, 572, 651, 565, 574, 683, 686, 574, 621, 695, 531, 614, 512, 504, 662, 611, 510, 587, 602, 542, 629, 564, 510, 522, 632, 653, 506, 524, 544, 617, 678, 544, 634, 657, 565, 669, 503, 511, 638, 688, 661, 666, 650, 694, 640, 533, 520, 525, 612, 676, 675, 634, 686, 575, 700, 588, 588, 650, 563, 692, 536, 633, 538, 656, 556, 509, 680, 621, 519, 507, 689, 661, 519, 500, 564, 613, 529, 598, 695, 570, 505, 631, 500, 698, 593, 539, 601, 687, 693, 687, 674, 596, 595, 694, 697, 547, 564, 641, 685, 548, 583, 529, 666, 646, 597, 629, 631, 618, 606, 620, 658, 670, 557, 590, 593, 505, 646, 687, 689, 523, 538, 591, 647, 623, 566, 685, 568, 658, 685, 545, 621, 684, 587, 531, 553, 598, 617, 520, 654, 577, 547, 652, 512, 624, 669, 504, 563, 670, 673, 679, 691, 684, 665, 536, 627, 674, 654, 607, 514, 584, 588, 595, 588, 635, 543, 546, 614, 534, 554, 648, 552, 547, 551, 574, 594, 662, 604, 686, 566, 645, 682, 513, 539, 593, 683, 549, 617, 694, 614, 676, 548, 630, 520, 664, 577, 685, 683, 505, 530, 637, 573, 641, 700, 638, 550, 536, 537, 638, 581, 573, 648, 546, 601, 681, 611, 680, 574, 510, 677, 531, 544, 625, 544, 652, 602, 583, 590, 519, 667, 559, 663, 509, 569, 645, 691, 672, 567, 647, 638, 670, 603, 588, 589, 642, 569, 507, 556, 528, 568, 519, 521, 504, 518, 603, 683, 645, 555, 598, 638, 600, 525, 546, 553, 665, 557, 512, 612, 606, 604, 630, 633, 557, 696, 543, 692, 647, 538, 596, 612, 602, 643, 617, 656, 649, 647, 502, 602, 541, 505, 521, 564, 687, 611, 577, 543, 679, 629, 695, 597, 559, 623, 555, 679, 538, 502, 554, 551, 567, 694, 505, 537, 591, 675, 552, 580, 592, 557, 697, 697, 576, 690, 515, 623, 548, 527, 635, 675, 519, 559, 622, 523, 682, 661, 580, 610, 547, 651, 526, 618, 650, 511, 590, 662, 633, 575, 648, 645, 677, 585, 613, 665, 666, 671, 524, 582, 557, 661, 671, 602, 552, 524, 576, 665, 526, 523, 505, 653, 598, 507, 531, 566, 660, 536, 542, 638, 625, 539, 533, 568, 517, 625, 578, 671, 586, 629, 504, 647, 522, 567, 552, 515, 501, 508, 666, 543, 558, 567, 608, 576, 685, 620, 694, 511, 676, 621, 625, 654, 584, 588, 512, 664, 632, 658, 669, 541, 623, 622, 615, 698, 528, 549, 622, 571, 545, 607, 619, 695, 665, 602, 620, 621, 636, 567, 596, 542, 615, 565, 688, 630, 566, 667, 659, 646, 513, 524, 601, 636, 652, 616, 608, 540, 677, 687, 617, 575, 516, 624, 678, 555, 519, 548, 512, 597, 648, 561, 656, 565, 502, 619, 656, 636, 646, 606, 566, 673, 551, 660, 644, 524, 700, 692, 526, 575, 525, 648, 515, 680, 550, 517, 510, 577, 653, 674, 651, 578, 565, 561, 561, 625, 634, 549, 625, 647, 522, 581, 653, 643, 693, 620, 579, 670, 579, 584, 650, 566, 654, 634, 687, 589, 599, 558, 664, 570, 635, 588, 628, 517, 634, 570, 666, 556, 541, 506, 665, 663, 655, 585, 689, 510, 624, 610, 587, 674, 673, 598, 610, 614, 566, 663, 580, 639, 678, 661, 647, 570, 592, 617, 517, 551, 696, 693, 696, 568, 657, 629, 627, 619, 532, 566, 546, 657, 542, 657, 509, 539, 527, 541, 682, 576, 535, 552, 647, 611, 501, 687, 563, 590, 660, 510, 583, 545, 654, 590, 620, 641, 552, 510, 614, 671, 584, 505, 596, 527, 620, 512, 567, 569, 686, 645, 636, 542, 666, 503, 665, 627, 580, 662, 584, 618, 629, 540, 628, 647, 619, 513, 547, 533, 529, 558, 688, 697, 601, 675, 650, 649, 534, 619, 693, 525, 698, 608, 677, 623, 688, 517, 552, 549, 572, 525, 698, 620, 508, 604, 598, 684, 664, 577, 696, 685, 670, 647, 524, 554, 503, 635, 552, 604, 537, 595, 639, 516, 591, 570, 668, 652, 556, 525, 535, 590, 694, 673, 620, 601, 550, 602, 536, 646, 520, 686, 586, 669, 505, 527, 646, 645, 594, 557, 607, 555, 691, 652, 555, 585, 615, 543, 591, 625, 571, 686, 686, 551, 664, 678, 611, 533, 564, 635, 516, 657, 616, 567, 549, 503, 572, 634, 540, 552, 692, 522, 619, 675, 577, 568, 568, 699, 635, 537, 545, 509, 693, 652, 560, 659, 586, 590, 567, 603, 563, 518, 607, 632, 650, 603, 548, 667, 500, 575, 664, 660, 612, 666, 669, 566, 665, 532, 624, 528, 539, 685, 674, 520, 650, 506, 602, 607, 652, 504, 521, 630, 588, 699, 675, 661, 551, 524, 506, 650, 548, 591, 515, 637, 635, 587, 602, 606, 688, 616, 685, 504, 648, 527, 516, 588, 511, 686, 523, 575, 526, 529, 587, 517, 593, 567, 688, 663, 689, 512, 641, 556, 664, 575, 624, 618, 551, 604, 516, 598, 654, 602, 530, 622, 598, 613, 654, 504, 593, 558, 700, 579, 647, 529, 548, 577, 671, 697, 668, 589, 569, 646, 661, 598, 513, 519, 608, 630, 665, 576, 591, 657, 576, 691, 503, 670, 659, 580, 580, 599, 675, 554, 536, 501, 695, 659, 691, 672, 649, 505, 665, 647, 657, 534, 700, 564, 541, 635, 571, 511, 613, 599, 526, 672, 533, 575, 612, 503, 667, 558, 575, 585, 687, 626, 597, 619, 606, 627, 625, 584, 623, 570, 617, 617, 505, 634, 505, 564, 513, 700, 533, 570, 688, 657, 669, 616, 505, 602, 676, 608, 645, 651, 548, 570, 547, 504, 587, 575, 612, 619, 527, 677, 647, 619, 599, 557, 682, 511, 609, 672, 596, 556, 631, 686, 627, 583, 516, 644, 564, 691, 545, 541, 679, 500, 624, 647, 656, 508, 515, 578, 607, 692, 501, 503, 667, 608, 548, 622, 580, 539, 502, 600, 655, 683, 645, 531, 657, 692, 557, 574, 653, 656, 645, 551, 546, 699, 665, 519, 698, 565, 514, 605, 502, 557, 578, 508, 590, 689, 501, 601, 502, 689, 513, 575, 624, 666, 552, 562, 687, 620, 537, 580, 556, 689, 619, 504, 540, 582, 577, 521, 682, 501, 662, 638, 682, 647, 525, 559, 618, 634, 520, 619, 532, 611, 501, 647, 626, 538, 666, 500, 591, 600, 663, 631, 608, 628, 509, 676, 683, 560, 603, 547, 648, 679, 531, 543, 551, 605, 603, 569, 546, 553, 588, 699, 554, 694, 516, 638, 654, 576, 563, 593, 666, 616, 543, 600, 542, 575, 689, 627, 575, 687, 646, 500, 622, 611, 618, 671, 519, 643, 506, 672, 700, 540, 635, 651, 669, 696, 600, 562, 580, 617, 610, 558, 523, 620, 501, 591, 532, 594, 601, 692, 536, 561, 676, 507, 618, 597, 654, 580, 500, 696, 622, 539, 627, 622, 615, 517, 561, 647, 573, 603, 538, 677, 548, 652, 628, 613, 543, 564, 593, 546, 660, 631, 595, 511, 524, 578, 666, 632, 633, 524, 555, 530, 554, 592, 592, 595, 656, 519, 660, 524, 632, 632, 536, 574, 505, 562, 660, 501, 666, 544, 668, 681, 657, 573, 625, 628, 669, 610, 630, 662, 694, 681, 671, 634, 501, 591, 520, 524, 564, 684, 613, 506, 647, 591, 591, 581, 593, 575, 564, 609, 573, 692, 614, 675, 695, 574, 658, 656, 636, 550, 678, 603, 559, 564, 680, 627, 635, 621, 662, 562, 657, 676, 664, 691, 561, 620, 536, 698, 651, 521, 629, 664, 654, 538, 611, 503, 664, 650, 566, 662, 668, 596, 645, 536, 558, 649, 697, 543, 600, 537, 683, 643, 617, 575, 641, 519, 523, 586, 506, 688, 679, 567, 679, 528, 663, 545, 504, 519, 548, 641, 550, 666, 614, 516, 620, 654, 629, 645, 531, 655, 517, 696, 622, 545, 573, 557, 510, 555, 577, 676, 635, 517, 634, 669, 504, 608, 537, 528, 602, 618, 590, 655, 677, 691, 504, 567, 528, 553, 534, 691, 686, 604, 592, 569, 548, 571, 590, 575, 574, 594, 619, 558, 604, 668, 562, 656, 565, 566, 649, 605, 527, 671, 630, 569, 578, 591, 541, 598, 612, 568, 653, 609, 604, 619, 668, 685, 538, 653, 567, 626, 501, 542, 624, 508, 559, 663, 649, 637, 629, 525, 662, 675, 626, 675, 546, 587, 614, 626, 595, 507, 583, 523, 644, 590, 661, 638, 661, 515, 605, 572, 523, 643, 565, 634, 622, 522, 551, 623, 663, 631, 655, 661, 694, 634, 539, 512, 620, 564, 670, 639, 570, 538, 700, 633, 533, 519, 680, 509, 697, 578, 636, 565, 580, 567, 656, 574, 520, 500, 541, 578, 667, 629, 543, 669, 681, 532, 557, 625, 636, 617, 639, 684, 696, 542, 535, 632, 527, 537, 530, 555, 616, 642, 616, 503, 536, 533, 511, 633, 679, 500, 600, 646, 548, 509, 515, 519, 604, 542, 500, 588, 630, 583, 668, 571, 602, 638, 567, 667, 688, 519, 648, 580, 533, 668, 525, 516, 524, 541, 646, 674, 528, 548, 661, 578, 570, 698, 700, 500, 540, 636, 676, 602, 548, 553, 672, 663, 673, 653, 660, 523, 674, 533, 577, 607, 523, 524, 504, 505, 562, 537, 691, 615, 650, 552, 565, 560, 586, 699, 650, 512, 678, 599, 679, 557, 556, 652, 555, 645, 521, 660, 605, 566, 643, 544, 674, 571, 618, 515, 548, 637, 598, 672, 685, 608, 679, 696, 663, 631, 618, 638, 507, 665, 666, 583, 610, 516, 529, 543, 574, 556, 638, 658, 516, 566, 560, 634, 590, 657, 652, 575, 699, 565, 658, 507, 698, 577, 578, 504, 693, 532, 591, 674, 510, 620, 691, 660, 607, 676, 535, 689, 635, 587, 629, 506, 635, 597, 624, 539, 646, 506, 594, 564, 633, 599, 640, 670, 660, 605, 543, 520, 649, 579, 602, 521, 667, 584, 636, 567, 544, 648, 665, 504, 648, 566, 617, 684, 693, 628, 667, 650, 567, 649, 658, 695, 641, 520, 649, 529, 541, 654, 685, 618, 596, 653, 589, 605, 607, 691, 693, 620, 521, 699, 700, 511, 597, 666, 648, 697, 517, 649, 591, 579, 663, 560, 642, 665, 690, 568, 587, 567, 575, 611, 595, 597, 533, 559, 586, 560, 510, 630, 626, 515, 654, 669, 524, 523, 663, 518, 559, 658, 538, 548, 647, 506, 700, 692, 536, 695, 556, 700, 533, 661, 663, 693, 670, 669, 581, 518, 658, 663, 616, 523, 646, 691, 631, 553, 632, 570, 505, 556, 668, 552, 610, 511, 601, 658, 610, 629, 644, 520, 690, 512, 551, 553, 605, 519, 649, 635, 619, 695, 520, 520, 602, 641, 617, 606, 675, 511, 669, 516, 691, 612, 655, 558, 633, 599, 540, 700, 512, 651, 503, 656, 581, 614, 673, 630, 686, 514, 692, 608, 630, 645, 538, 620, 602, 657, 522, 500, 635, 641, 556, 575, 650, 556, 624, 533, 579, 683, 667, 665, 533, 548, 571, 632, 593, 677, 505, 512, 681, 645, 528, 592, 550, 700, 607, 551, 686, 535, 567, 510, 504, 596, 656, 570, 501, 567, 507, 614, 521, 630, 559, 574, 698, 549, 643, 528, 623, 630, 503, 544, 675, 632, 656, 522, 570, 636, 551, 595, 562, 576, 647, 571, 700, 634, 636, 574, 542, 681, 550, 676, 658, 553, 559, 583, 587, 698, 699, 662, 665, 593, 579, 588, 575, 669, 564, 645, 524, 693, 509, 661, 524, 561, 512, 518, 657, 529, 678, 571, 611, 502, 633, 646, 597, 631, 604, 641, 680, 598, 655, 543, 614, 661, 598, 572, 640, 509, 641, 597, 638, 559, 630, 673, 687, 679, 626, 656, 605, 616, 579, 539, 606, 555, 646, 574, 598, 583, 672, 521, 619, 683, 539, 581, 517, 615, 546, 624, 659, 505, 567, 555, 688, 640, 620, 558, 631, 549, 507, 596, 635, 656, 654, 660, 687, 641, 530, 658, 697, 574, 595, 670, 681, 691, 589, 659, 561, 582, 645, 573, 616, 628, 504, 507, 659, 633, 526, 551, 687, 688, 627, 631, 677, 683, 519, 644, 561, 628, 605, 664, 552, 618, 669, 686, 647, 508, 515, 652, 566, 671, 690, 540, 510, 699, 593, 570, 549, 655, 697, 633, 700, 698, 521, 655, 518, 531, 580, 521, 647, 545, 516, 653, 563, 602, 523, 584, 593, 533, 646, 519, 636, 564, 551, 542, 550, 543, 650, 522, 560, 643, 613, 500, 609, 620, 660, 561, 696, 540, 619, 597, 619, 597, 539, 607, 544, 599, 682, 625, 610, 535, 689, 639, 516, 614, 668, 684, 596, 548, 642, 692, 513, 532, 517, 605, 693, 691, 621, 674, 699, 614, 692, 633, 689, 512, 557, 612, 571, 521, 578, 632, 684, 695, 617, 565, 612, 665, 687, 631, 610, 637, 668, 592, 549, 501, 664, 569, 686, 583, 573, 541, 569, 692, 666, 533, 562, 663, 680, 581, 609, 527, 666, 532, 511, 503, 575, 604, 593, 629, 671, 612, 631, 638, 630, 606, 546, 561, 697, 697, 687, 592, 500, 591, 552, 528, 573, 630, 613, 662, 525, 628, 645, 686, 557, 635, 522, 643, 573, 558, 515, 624, 571, 667, 529, 611, 529, 555, 592, 600, 575, 566, 599, 636, 619, 590, 563, 501, 672, 534, 615, 655, 680, 688, 553, 683, 586, 550, 551, 563, 667, 558, 651, 523, 596, 592, 2458351, 675, 611, 638, 614, 506, 591, 592, 556, 605, 589, 606, 681, 635, 690, 615, 583, 608, 631, 644, 521, 675, 586, 593, 630, 692, 523, 629, 573, 650, 551, 563, 644, 605, 578, 659, 666, 510, 522, 532, 598, 616, 539, 568, 565, 565, 648, 609, 615, 592, 674, 692, 576, 569, 553, 599, 621, 648, 577, 634, 686, 514, 520, 675, 586, 566, 538, 619, 688, 525, 537, 687, 623, 566, 587, 617, 535, 692, 509, 570, 548, 604, 586, 595, 628, 638, 580, 596, 589, 552, 590, 645, 581, 652, 522, 566, 506, 610, 663, 607, 655, 523, 632, 561, 515, 549, 616, 554, 635, 569, 609, 502, 601, 631, 588, 697, 605, 626, 620, 617, 537, 577, 625, 514, 521, 524, 521, 558, 695, 553, 676, 607, 631, 544, 643, 670, 575, 577, 541, 553, 660, 504, 542, 681, 578, 588, 638, 615, 693, 669, 695, 555, 517, 662, 664, 531, 658, 699, 612, 563, 583, 665, 602, 581, 673, 674, 627, 629, 597, 629, 504, 550, 668, 561, 662, 541, 608, 616, 523, 640, 508, 534, 673, 658, 571, 513, 675, 623, 603, 686, 585, 623, 548, 504, 549, 558, 633, 574, 679, 636, 598, 682, 585, 570, 529, 682, 548, 687, 700, 555, 587, 585, 700, 639, 609, 503, 607, 554, 559, 690, 621, 509, 584, 523, 651, 670, 526, 610, 590, 582, 680, 684, 645, 616, 588, 677, 520, 639, 559, 601, 662, 695, 614, 592, 523, 687, 537, 534, 535, 637, 557, 536, 691, 599, 630, 582, 543, 655, 523, 652, 606, 668, 547, 689, 541, 700, 698, 686, 617, 606, 683, 502, 627, 585, 515, 541, 556, 563, 617, 667, 685, 640, 537, 683, 639, 661, 649, 583, 700, 580, 601, 646, 673, 620, 680, 617, 677, 629, 646, 619, 665, 516, 645, 623, 536, 518, 507, 577, 543, 594, 534, 687, 606, 693, 578, 675, 571, 683, 572, 613, 574, 628, 661, 504, 679, 567, 551, 585, 622, 579, 700, 568, 672, 665, 673, 641, 633, 545, 584, 582, 628, 629, 625, 518, 512, 700, 521, 690, 533, 593, 595, 594, 553, 548, 634, 505, 592, 658, 601, 559, 638, 630, 654, 650, 510, 690, 569, 529, 679, 681, 559, 505, 558, 532, 538, 610, 520, 541, 575, 535, 580, 572, 566, 636, 695, 543, 518, 693, 574, 644, 500, 574, 509, 670, 603, 593, 667, 507, 528, 655, 549, 569, 647, 576, 515, 621, 663, 671, 541, 585, 591, 553, 539, 675, 666, 545, 672, 556, 615, 677, 536, 517, 651, 590, 656, 513, 553, 556, 667, 560, 587, 518, 660, 669, 522, 530, 616, 557, 534, 681, 546, 580, 613, 605, 565, 564, 575, 523, 662, 544, 685, 517, 526, 638, 637, 502, 592, 664, 600, 578, 598, 607, 607, 638, 637, 622, 623, 603, 547, 576, 609, 582, 507, 502, 687, 529, 670, 564, 612, 566, 541, 510, 542, 686, 667, 643, 693, 635, 553, 582, 588, 683, 507, 604, 695, 537, 576, 700, 641, 546, 622, 531, 677, 610, 636, 550, 681, 506, 591, 534, 571, 621, 658, 602, 677, 553, 535, 638, 512, 582, 587, 591, 654, 519, 502, 692, 699, 640, 671, 575, 537, 690, 566, 631, 606, 639, 686, 686, 606, 692, 576, 535, 644, 531, 513, 500, 648, 528, 692, 599, 632, 685, 639, 616, 686, 695, 597, 659, 654, 516, 555, 543, 546, 635, 689, 590, 506, 509, 679, 531, 617, 622, 688, 587, 610, 538, 500, 557, 659, 637, 605, 536, 591, 656, 618, 686, 568, 643, 532, 553, 691, 552, 558, 530, 622, 672, 608, 669, 547, 583, 682, 517, 590, 557, 667, 534, 509, 563, 696, 515, 618, 656, 636, 666, 689, 654, 620, 509, 551, 647, 593, 661, 609, 660, 513, 558, 615, 567, 583, 510, 602, 563, 517, 686, 699, 598, 663, 562, 546, 644, 525, 628, 641, 587, 632, 605, 519, 593, 575, 549, 672, 566, 687, 676, 630, 620, 515, 626, 588, 553, 548, 570, 593, 684, 596, 639, 635, 547, 638, 653, 554, 512, 514, 571, 513, 626, 612, 669, 620, 570, 616, 563, 693, 689, 666, 569, 622, 602, 638, 598, 657, 567, 567, 695, 628, 593, 527, 607, 606, 506, 581, 688, 536, 697, 641, 501, 647, 513, 618, 593, 642, 696, 543, 658, 516, 614, 664, 571, 666, 595, 547, 698, 652, 629, 618, 558, 533, 548, 600, 600, 695, 587, 699, 650, 648, 542, 592, 537, 671, 550, 524, 699, 522, 590, 582, 594, 688, 573, 501, 548, 560, 559, 517, 691, 532, 689, 512, 648, 596, 622, 659, 500, 639, 565, 512, 553, 506, 648, 652, 567, 603, 699, 585, 522, 639, 674, 509, 503, 671, 657, 664, 600, 560, 572, 676, 572, 678, 511, 651, 515, 583, 634, 660, 697, 652, 550, 580, 556, 626, 628, 570, 612, 540, 634, 518, 653, 620, 675, 530, 545, 675, 656, 543, 699, 602, 579, 501, 667, 641, 686, 643, 502, 679, 547, 625, 694, 624, 521, 539, 642, 688, 605, 542, 545, 519, 558, 655, 629, 564, 536, 625, 695, 614, 618, 535, 599, 652, 539, 614, 660, 648, 641, 679, 666, 595, 585, 671, 659, 582, 698, 645, 588, 561, 524, 567, 502, 564, 674, 506, 587, 645, 679, 589, 570, 584, 563, 671, 585, 501, 684, 663, 579, 662, 649, 504, 641, 671, 621, 595, 581, 653, 583, 623, 619, 647, 529, 594, 516, 663, 528, 691, 647, 645, 538, 693, 648, 512, 618, 619, 607, 645, 555, 543, 555, 633, 519, 505, 550, 556, 541, 638, 652, 524, 661, 656, 657, 655, 656, 634, 645, 549, 518, 596, 558, 541, 593, 636, 617, 527, 669, 625, 546, 559, 682, 576, 647, 554, 699, 641, 516, 615, 692, 605, 568, 569, 622, 696, 694, 625, 678, 619, 596, 555, 576, 514, 518, 537, 504, 697, 554, 694, 559, 675, 654, 636, 586, 597, 525, 557, 600, 688, 642, 676, 583, 560, 558, 577, 664, 604, 609, 625, 508, 542, 540, 689, 620, 619, 550, 541, 536, 640, 569, 608, 573, 696, 595, 599, 657, 670, 687, 636, 656, 553, 610, 551, 627, 627, 647, 693, 542, 613, 666, 690, 610, 528, 540, 579, 635, 594, 531, 576, 576, 545, 592, 635, 512, 612, 579, 569, 579, 582, 638, 627, 688, 527, 659, 547, 698, 568, 630, 599, 641, 648, 584, 545, 512, 598, 561, 578, 538, 547, 613, 668, 593, 593, 517, 542, 591, 652, 632, 686, 531, 527, 552, 658, 518, 671, 653, 515, 652, 650, 565, 530, 578, 565, 536, 581, 524, 564, 604, 540, 509, 585, 513, 631, 548, 666, 600, 675, 651, 580, 541, 626, 670, 626, 627, 586, 631, 537, 557, 654, 620, 639, 591, 660, 525, 501, 503, 530, 579, 697, 522, 550, 505, 628, 530, 595, 638, 502, 519, 659, 656, 700, 524, 577, 594, 592, 606, 610, 626, 687, 555, 531, 673, 582, 637, 601, 578, 622, 529, 516, 655, 546, 600, 604, 655, 624, 548, 558, 627, 656, 644, 573, 618, 619, 664, 650, 620, 559, 551, 523, 625, 552, 569, 679, 578, 532, 655, 546, 683, 553, 635, 655, 524, 629, 535, 557, 682, 574, 632, 645, 616, 639, 616, 549, 629, 507, 651, 667, 683, 569, 538, 630, 639, 525, 639, 558, 531, 608, 589, 654, 700, 644, 543, 541, 633, 551, 655, 546, 511, 626, 636, 520, 652, 517, 601, 512, 569, 670, 500, 643, 691, 685, 514, 582, 654, 552, 547, 526, 601, 620, 686, 555, 531, 679, 678, 533, 555, 500, 558, 699, 607, 528, 641, 667, 513, 608, 560, 608, 601, 547, 688, 654, 649, 573, 594, 623, 636, 692, 589, 631, 3811325, 509, 675, 530, 526, 516, 662, 545, 689, 619, 638, 682, 653, 700, 504, 661, 578, 588, 502, 542, 620, 688, 517, 509, 586, 608, 545, 534, 598, 501, 631, 644, 668, 522, 652, 676, 562, 599, 652, 602, 648, 662, 577, 680, 594, 546, 621, 688, 560, 608, 505, 601, 507, 699, 593, 610, 628, 659, 684, 629, 652, 632, 675, 660, 567, 543, 562, 640, 589, 539, 634, 611, 596, 593, 652, 684, 537, 619, 698, 634, 676, 565, 623, 670, 700, 636, 562, 509, 539, 646, 649, 581, 647, 641, 621, 651, 539, 520, 644, 544, 558, 608, 593, 656, 592, 638, 542, 578, 522, 627, 656, 698, 547, 645, 504, 546, 509, 626, 658, 647, 695, 566, 656, 507, 580, 544, 639, 556, 616, 605, 582, 514, 698, 577, 671, 558, 602, 528, 687, 596, 698, 688, 525, 549, 511, 612, 545, 688, 538, 635, 595, 683, 664, 578, 578, 698, 588, 583, 563, 584, 677, 513, 551, 575, 543, 630, 530, 568, 697, 610, 656, 615, 529, 509, 696, 590, 569, 530, 541, 699, 504, 678, 529, 611, 513, 691, 688, 563, 682, 504, 611, 509, 591, 661, 559, 664, 677, 596, 542, 524, 542, 643, 652, 552, 541, 624, 685, 638, 624, 618, 950611, 544, 687, 664, 668, 585, 625, 635, 578, 573, 638, 601, 531, 566, 674, 505, 508, 699, 592, 587, 534, 560, 537, 542, 609, 663, 551, 563, 522, 656, 691, 637, 621, 541, 683, 578, 546, 558, 655, 550, 697, 518, 589, 554, 645, 683, 568, 669, 601, 535, 547, 541, 690, 613, 541, 563, 537, 538, 613, 660, 516, 629, 613, 519, 681, 560, 643, 686, 570, 604, 618, 507, 582, 662, 644, 571, 646, 626, 632, 581, 672, 594, 515, 578, 618, 521, 550, 609, 582, 570, 603, 517, 645, 510, 562, 522, 689, 608, 524, 653, 540, 696, 689, 527, 684, 666, 511, 680, 667, 528, 579, 541, 544, 515, 640, 680, 695, 662, 692, 543, 685, 527, 611, 689, 521, 617, 633, 659, 588, 541, 538, 583, 595, 651, 698, 564, 522, 551, 508, 628, 547, 618, 4231800, 661, 581, 650, 547, 500, 604, 523, 582, 556, 626, 517, 534, 688, 534, 632, 693, 552, 668, 609, 603, 536, 532, 535, 689, 558, 537, 610, 548, 573, 651, 565, 673, 506, 521, 584, 551, 532, 561, 679, 674, 578, 628, 673, 602, 694, 661, 549, 535, 524, 594, 686, 578, 692, 685, 679, 567, 642, 700, 647, 680, 524, 679, 680, 517, 506, 676, 649, 505, 655, 592, 638, 504, 540, 617, 567, 545, 570, 569, 686, 581, 617, 671, 615, 631, 548, 699, 532, 511, 656, 588, 607, 523, 606, 553, 618, 686, 648, 567, 649, 516, 576, 666, 534, 568, 562, 596, 619, 542, 581, 631, 503, 611, 582, 617, 585, 504, 687, 520, 600, 542, 659, 567, 652, 616, 638, 526, 606, 653, 583, 641, 1211345, 552, 571, 558, 687, 658, 568, 581, 517, 586, 557, 645, 693, 665, 559, 524, 630, 560, 658, 552, 599, 536, 540, 551, 553, 660, 676, 654, 687, 592, 681, 638, 570, 636, 685, 661, 608, 671, 546, 696, 608, 614, 591, 562, 583, 642, 645, 646, 552, 610, 659, 607, 597, 566, 696, 528, 539, 595, 524, 562, 652, 638, 600, 613, 532, 602, 664, 664, 528, 638, 520, 688, 625, 680, 623, 680, 591, 699, 565, 680, 568, 520, 661, 500, 533, 633, 656, 572, 633, 603, 538, 556, 629, 609, 528, 510, 625, 539, 605, 631, 605, 558, 504, 580, 596, 640, 637, 629, 585, 619, 591, 699, 673, 613, 569, 697, 623, 597, 623, 690, 514, 537, 691, 595, 576, 582, 528, 607, 5211765, 633, 561, 691, 627, 568, 592, 573, 678, 660, 522, 509, 528, 646, 664, 635, 579, 612, 648, 546, 603, 585, 566, 609, 525, 636, 686, 546, 583, 560, 591, 592, 554, 552, 534, 590, 675, 645, 691, 526, 528, 551, 553, 634, 550, 519, 612, 527, 638, 697, 627, 532, 596, 541, 682, 591, 594, 676, 669, 597, 564, 513, 682, 576, 640, 569, 594, 516, 668, 696, 578, 685, 597, 554, 587, 533, 525, 526, 546, 554, 689, 678, 544, 693, 501, 578, 619, 582, 549, 680, 595, 525, 539, 668, 693, 687, 679, 679, 576, 515, 579, 526, 629, 698, 686, 682, 576, 680, 695, 587, 520, 683, 634, 680, 665, 517, 531, 634, 521, 561, 550, 541, 585, 653, 594, 587, 636, 511, 668, 652, 560, 528, 684, 577, 606, 540, 510, 510, 554, 690, 627, 505, 511, 570, 671, 516, 662, 680, 548, 615, 533, 553, 503, 539, 563, 601, 620, 680, 505, 656, 613, 688, 672, 605, 3411800, 573, 536, 516, 655, 698, 599, 670, 529, 664, 677, 552, 523, 692, 607, 698, 588, 500, 681, 516, 565, 573, 577, 569, 675, 647, 553, 608, 647, 594, 564, 533, 546, 573, 694, 595, 500, 664, 598, 602, 640, 625, 571, 689, 643, 567, 664, 656, 585, 631, 608, 631, 548, 698, 668, 620, 615, 511, 687, 555, 694, 667, 620, 657, 671, 597, 644, 572, 550, 626, 534, 596, 539, 560, 513, 528, 519, 636, 645, 603, 551, 676, 527, 627, 563, 600, 528, 550, 554, 572, 676, 607, 608, 648, 559, 661, 643, 652, 656, 648, 627, 685, 694, 568, 654, 509, 694, 529, 557, 656, 553, 589, 505, 531, 554, 529, 654, 545, 683, 635, 563, 632, 613, 540, 677, 665, 637, 695, 631, 518, 695, 544, 699, 587, 645, 598, 620, 635, 690, 532, 593, 605, 627, 551, 595, 559, 529, 608, 543, 679, 4215311, 606, 621, 665, 532, 634, 700, 507, 509, 503, 675, 612, 544, 574, 632, 504, 672, 684, 625, 696, 500, 656, 671, 645, 681, 627, 511, 565, 514, 519, 544, 534, 687, 607, 671, 538, 595, 639, 518, 637, 625, 629, 514, 650, 506, 667, 568, 614, 501, 618, 579, 690, 611, 686, 577, 519, 656, 505, 557, 666, 538, 675, 635, 506, 534, 532, 652, 587, 632, 623, 567, 699, 569, 652, 516, 504, 607, 554, 550, 560, 655, 622, 520, 665, 653, 544, 576, 669, 575, 671, 561, 580, 618, 659, 591, 553, 522, 629, 698, 639, 683, 676, 675, 534, 545, 603, 546, 530, 594, 576, 615, 647, 584, 538, 550, 662, 651, 636, 564, 503, 698, 633, 507, 607, 683, 697, 673, 527, 548, 539, 700, 698, 574, 535, 652, 541, 615, 510, 523, 694, 672, 596, 691, 686, 683, 562, 594, 518, 696, 587, 537, 558, 672, 583, 616, 694, 635, 556, 648, 596, 502, 631, 582, 611, 623, 693, 698, 618, 543, 549, 685, 670, 549, 577, 669, 598, 682, 595, 641, 633, 662, 603, 646, 587, 581, 671, 680, 520, 654, 599, 509, 575, 516, 584, 556, 585, 596, 690, 551, 608, 682, 641, 682, 573, 554, 595, 661, 697, 570, 500, 621, 635, 656, 683, 650, 595, 638, 652, 608, 690, 506, 578, 583, 662, 686, 586, 520, 616, 673, 651, 537, 505, 681, 639, 699, 503, 526, 518, 598, 594, 696, 698, 698, 509, 567, 632, 664, 684, 577, 519, 548, 561, 532, 601, 505, 609, 565, 693, 531, 543, 561, 573, 647, 565, 700, 601, 509, 561, 553, 618, 670, 518, 599, 563, 596, 624, 1211900, 503, 534, 632, 536, 663, 593, 540, 659, 612, 597, 610, 674, 566, 611, 615, 584, 552, 528, 516, 622, 594, 601, 571, 553, 609, 685, 587, 669, 671, 570, 671, 695, 547, 553, 688, 592, 685, 655, 570, 608, 689, 574, 503, 582, 588, 679, 630, 596, 698, 630, 648, 595, 587, 669, 533, 607, 598, 503, 631, 688, 656, 544, 528, 699, 560, 526, 559, 696, 683, 611, 545, 519, 667, 615, 565, 667, 644, 534, 531, 543, 549, 590, 673, 659, 645, 618, 614, 525, 527, 642, 696, 660, 640, 601, 507, 548, 526, 687, 682, 548, 640, 548, 536, 616, 698, 676, 636, 576, 541, 656, 660, 566, 642, 689, 517, 505, 668, 547, 678, 618, 516, 699, 607, 591, 634, 663, 627, 615, 677, 566, 686, 614, 634, 566, 604, 654, 528, 603, 623, 694, 664, 517, 591, 591, 544, 516, 582, 506, 595, 510, 609, 539, 690, 652, 576, 557, 541, 668, 518, 611, 538, 600, 520, 610, 662, 557, 524, 505, 512, 629, 517, 651, 614, 641, 657, 575, 574, 684, 591, 617, 665, 607, 659, 503, 671, 510, 629, 616, 618, 673, 590, 547, 546, 683, 617, 622, 563, 502, 615, 606, 511, 624, 694, 667, 600, 592, 584, 658, 504, 605, 546, 651, 527, 588, 699, 658, 561, 637, 591, 602, 576, 540, 673, 682, 584, 602, 628, 545, 640, 560, 526, 603, 585, 593, 693, 547, 584, 690, 666, 578, 611, 592, 537, 585, 547, 687, 553, 644, 540, 564, 551, 558, 598, 535, 677, 596, 641, 536, 682, 689, 670, 506, 510, 561, 668, 529, 684, 613, 690, 672, 547, 576, 601, 639, 688, 638, 698, 504, 558, 509, 525, 618, 689, 562, 700, 635, 572, 681, 593, 650, 534, 622, 552, 593, 619, 576, 616, 650, 613, 604, 633, 507, 686, 694, 680, 522, 573, 582, 688, 550, 625, 536, 629, 646, 504, 638, 609, 530, 564, 664, 572, 698, 600, 684, 581, 678, 574, 3211459, 614, 613, 507, 587, 523, 501, 668, 698, 543, 521, 602, 529, 576, 684, 668, 699, 614, 519, 516, 539, 536, 502, 515, 611, 662, 518, 558, 665, 683, 561, 607, 616, 539, 560, 663, 586, 612, 577, 661, 636, 537, 517, 652, 610, 643, 688, 553, 559, 608, 669, 642, 620, 528, 598, 615, 594, 579, 554, 697, 619, 513, 568, 700, 589, 576, 610, 519, 662, 657, 647, 546, 507, 613, 606, 601, 639, 685, 593, 557, 589, 503, 655, 700, 557, 564, 606, 566, 573, 546, 628, 581, 504, 585, 2341809, 689, 529, 672, 529, 665, 638, 619, 675, 696, 577, 614, 646, 597, 606, 673, 502, 615, 566, 687, 628, 631, 576, 634, 699, 544, 595, 602, 643, 699, 532, 501, 689, 637, 680, 618, 649, 527, 506, 621, 664, 663, 522, 638, 555, 682, 678, 694, 559, 560, 654, 603, 544, 601, 604, 576, 521, 594, 526, 568, 585, 631, 544, 649, 605, 556, 545, 565, 541, 643, 700, 690, 697, 533, 588, 636, 596, 607, 691, 647, 519, 626, 665, 667, 637, 573, 656, 594, 541, 559, 603, 696, 700, 555, 687, 672, 574, 571, 515, 614, 544, 591, 675, 672, 656, 500, 592, 622, 612, 500, 681, 594, 575, 593, 541, 584, 650, 659, 561, 631, 635, 626, 589, 638, 578, 618, 504, 621, 530, 643, 527, 648, 504, 560, 653, 694, 517, 620, 567, 660, 652, 533, 606, 556, 653, 684, 647, 556, 676, 535, 600, 633, 654, 649, 638, 690, 630, 598, 671, 640, 624, 654, 662, 666, 560, 687, 693, 674, 662, 644, 573, 588, 580, 696, 522, 661, 526, 522, 673, 700, 525, 643, 604, 549, 600, 657, 567, 694, 565, 647, 615, 506, 593, 646, 524, 681, 581, 541, 672, 594, 615, 596, 542, 673, 574, 694, 618, 652, 500, 514, 526, 667, 515, 698, 575, 574, 599, 675, 591, 533, 663, 513, 585, 686, 526, 559, 628, 506, 500, 547, 577, 568, 543, 556, 696, 560, 590, 659, 583, 506, 502, 532, 589, 679, 664, 667, 691, 531, 582, 589, 654, 572, 542, 545, 504, 558, 567, 663, 567, 661, 574, 502, 613, 645, 542, 503, 694, 653, 547, 565, 629, 640, 665, 547, 575, 646, 504, 507, 584, 536, 542, 575, 697, 611, 666, 513, 642, 572, 695, 661, 604, 611, 505, 673, 636, 563, 605, 510, 602, 520, 623, 523, 571, 553, 586, 527, 616, 563, 685, 564, 572, 677, 660, 696, 639, 629, 557, 633, 619, 616, 677, 505, 598, 511, 561, 526, 661, 578, 690, 640, 592, 609, 550, 558, 510, 527, 582, 538, 516, 645, 646, 609, 662, 571, 519, 670, 687, 692, 686, 508, 692, 579, 534, 667, 682, 631, 598, 678, 554, 612, 698, 510, 560, 526, 683, 597, 570, 567, 588, 606, 680, 700, 640, 619, 501, 617, 620, 553, 562, 639, 520, 590, 631, 644, 588, 698, 572, 607, 502, 502, 598, 633, 544, 520, 643, 598, 699, 667, 570, 592, 557, 673, 616, 618, 509, 548, 676, 536, 623, 505, 671, 521, 596, 618, 599, 639, 553, 517, 685, 602, 581, 544, 568, 691, 638, 557, 545, 500, 529, 676, 564, 680, 668, 682, 622, 523, 532, 695, 505, 553, 522, 646, 604, 631, 612, 573, 678, 645, 655, 649, 684, 622, 683, 694, 504, 602, 628, 574, 569, 620, 663, 693, 605, 651, 502, 548, 667, 664, 599, 669, 531, 665, 612, 540, 579, 655, 595, 655, 501, 555, 608, 564, 655, 555, 641, 546, 578, 694, 670, 571, 634, 542, 652, 683, 674, 628, 628, 640, 598, 525, 502, 648, 582, 601, 604, 682, 620, 613, 681, 667, 578, 607, 690, 506, 584, 693, 506, 679, 603, 690, 559, 563, 536, 510, 523, 538, 669, 541, 620, 601, 659, 675, 617, 649, 559, 506, 645, 525, 607, 569, 546, 555, 530, 590, 504, 644, 593, 509, 692, 603, 541, 682, 581, 573, 631, 642, 675, 640, 518, 502, 635, 508, 503, 514, 629, 525, 564, 611, 591, 656, 597, 683, 650, 615, 666, 510, 677, 537, 697, 579, 559, 547, 581, 600, 607, 514, 521, 600, 667, 678, 695, 563, 545, 602, 593, 585, 644, 518, 568, 538, 502, 598, 514, 660, 503, 676, 556, 673, 581, 542, 653, 521, 560, 671, 553, 606, 669, 682, 558, 640, 607, 579, 649, 554, 571, 575, 651, 686, 536, 565, 657, 621, 695, 688, 661, 638, 623, 600, 548, 560, 504, 538, 516, 520, 604, 662, 507, 668, 564, 604, 559, 541, 664, 521, 542, 604, 602, 698, 614, 524, 656, 634, 619, 515, 540, 557, 560, 683, 504, 614, 527, 679, 661, 611, 625, 585, 678, 698, 537, 549, 554, 601, 611, 648, 570, 564, 685, 631, 691, 693, 659, 683, 601, 547, 581, 530, 535, 500, 627, 686, 651, 604, 696, 643, 597, 638, 677, 649, 679, 558, 524, 556, 572, 629, 507, 534, 620, 622, 658, 685, 607, 549, 528, 607, 659, 697, 651, 571, 508, 577, 638, 612, 572, 585, 624, 510, 569, 637, 541, 502, 649, 587, 607, 668, 545, 697, 585, 566, 584, 655, 608, 660, 651, 608, 684, 544, 662, 599, 549, 597, 618, 693, 660, 671, 607, 613, 670, 604, 518, 630, 596, 621, 632, 691, 639, 698, 606, 551, 641, 561, 667, 655, 613, 593, 622, 698, 540, 684, 673, 517, 557, 590, 698, 684, 681, 603, 588, 610, 675, 520, 547, 632, 641, 590, 553, 643, 622, 606, 595, 545, 518, 678, 680, 658, 634, 640, 583, 511, 630, 547, 519, 647, 565, 655, 580, 602, 564, 616, 541, 651, 501, 680, 675, 569, 670, 507, 588, 509, 604, 633, 677, 501, 653, 609, 519, 699, 640, 563, 603, 611, 542, 599, 614, 529, 529, 569, 678, 665, 523, 596, 552, 518, 618, 589, 517, 566, 545, 691, 520, 503, 512, 526, 698, 625, 622, 689, 628, 506, 523, 626, 544, 670, 538, 693, 616, 508, 608, 565, 536, 661, 697, 580, 530, 614, 688, 636, 558, 527, 529, 531, 585, 522, 655, 556, 671, 506, 574, 607, 639, 628, 500, 690, 524, 663, 512, 573, 518, 543, 576, 596, 634, 584, 556, 598, 517, 650, 521, 589, 644, 506, 568, 615, 584, 598, 534, 697, 630, 576, 598, 588, 544, 523, 577, 637, 671, 614, 591, 648, 672, 539, 530, 543, 577, 563, 568, 549, 689, 606, 635, 518, 594, 560, 609, 621, 535, 608, 693, 626, 621, 663, 591, 536, 565, 554, 648, 657, 633, 538, 684, 691, 501, 546, 570, 671, 694, 655, 536, 637, 648, 694, 637, 645, 678, 532, 626, 593, 523, 561, 508, 669, 643, 641, 516, 661, 628, 674, 589, 683, 659, 670, 606, 593, 644, 673, 548, 700, 518, 547, 614, 648, 652, 598, 566, 525, 621, 614, 675, 669, 503, 577, 593, 678, 684, 644, 516, 590, 658, 634, 613, 527, 697, 573, 522, 630, 596, 655, 631, 696, 607, 593, 603, 545, 561, 516, 672, 698, 629, 637, 612, 644, 537, 664, 587, 579, 575, 640, 574, 638, 619, 610, 501, 584, 546, 673, 535, 679, 576, 591, 695, 570, 536, 576, 603, 584, 677, 586, 508, 522, 645, 667, 666, 521, 683, 593, 665, 629, 670, 690, 681, 520, 557, 575, 543, 698, 606, 683, 549, 512, 510, 532, 669, 558, 553, 581, 632, 552, 614, 523, 637, 608, 569, 695, 515, 560, 574, 685, 635, 600, 608, 682, 622, 563, 567, 616, 676, 566, 500, 606, 551, 663, 589, 665, 525, 695, 642, 690, 610, 561, 528, 595, 544, 682, 564, 552, 613, 653, 700, 683, 504, 603, 677, 518, 512, 581, 566, 593, 638, 548, 577, 572, 541, 626, 504, 581, 509, 674, 596, 564, 669, 676, 525, 550, 555, 566, 672, 558, 506, 655, 593, 520, 676, 565, 501, 542, 664, 589, 550, 516, 592, 582, 699, 657, 576, 553, 530, 560, 685, 585, 581, 638, 621, 576, 681, 649, 687, 573, 593, 501, 560, 656, 634, 534, 591, 656, 632, 613, 608, 567, 608, 546, 642, 567, 535, 543, 593, 602, 524, 557, 613, 560, 551, 529, 625, 507, 674, 655, 685, 673, 559, 566, 563, 536, 693, 546, 595, 626, 560, 588, 523, 690, 555, 662, 581, 662, 637, 639, 590, 542, 689, 585, 545, 652, 653, 570, 695, 659, 599, 500, 620, 651, 635, 624, 656, 592, 551, 522, 522, 576, 637, 607, 592, 633, 593, 627, 584, 669, 580, 548, 591, 650, 503, 564, 637, 687, 575, 614, 692, 502, 679, 559, 678, 557, 691, 517, 638, 541, 511, 509, 644, 670, 561, 505, 616, 561, 519, 537, 508, 677, 645, 650, 569, 521, 685, 657, 523, 576, 591, 518, 558, 522, 667, 520, 544, 696, 682, 688, 635, 530, 667, 646, 606, 507, 510, 674, 618, 648, 650, 637, 588, 535, 683, 601, 511, 586, 533, 628, 542, 660, 604, 509, 635, 555, 667, 509, 551, 582, 679, 679, 680, 680, 513, 657, 685, 558, 545, 555, 608, 571, 610, 650, 587, 597, 678, 526, 544, 622, 661, 622, 612, 548, 535, 550, 564, 571, 515, 611, 651, 664, 682, 588, 676, 665, 563, 646, 614, 511, 571, 698, 527, 518, 504, 611, 657, 626, 606, 577, 589, 621, 514, 549, 536, 673, 608, 558, 624, 569, 685, 517, 604, 555, 540, 521, 571, 584, 619, 509, 662, 680, 681, 692, 522, 621, 629, 679, 590, 699, 586, 595, 555, 615, 520, 532, 554, 610, 659, 646, 660, 656, 599, 568, 603, 586, 580, 547, 659, 519, 532, 511, 560, 609, 688, 620, 534, 656, 523, 561, 610, 560, 615, 569, 535, 515, 516, 568, 649, 566, 562, 509, 519, 588, 637, 609, 527, 617, 534, 582, 632, 687, 525, 691, 544, 559, 571, 545, 537, 658, 675, 545, 557, 685, 618, 531, 524, 566, 578, 635, 650, 598, 511, 594, 592, 619, 509, 552, 562, 516, 667, 507, 575, 648, 529, 503, 563, 544, 624, 627, 654, 645, 668, 650, 509, 560, 571, 609, 505, 661, 606, 681, 584, 599, 624, 627, 572, 538, 622, 502, 522, 669, 680, 513, 569, 520, 635, 629, 519, 548, 640, 614, 601, 611, 680, 699, 539, 699, 517, 679, 519, 595, 509, 638, 509, 641, 583, 512, 610, 561, 589, 684, 534, 600, 600, 551, 543, 542, 673, 694, 592, 585, 584, 613, 531, 592, 685, 589, 550, 699, 552, 598, 546, 682, 603, 694, 681, 655, 699, 699, 655, 627, 618, 500, 542, 607, 680, 698, 562, 558, 647, 576, 635, 529, 541, 639, 604, 511, 506, 598, 642, 625, 588, 669, 655, 646, 560, 524, 586, 605, 676, 617, 527, 652, 683, 652, 554, 601, 664, 571, 608, 602, 519, 511, 554, 539, 664, 523, 627, 592, 618, 555, 642, 667, 558, 511, 595, 529, 568, 516, 660, 642, 500, 694, 655, 613, 539, 656, 515, 589, 515, 546, 615, 614, 697, 674, 633, 692, 557, 635, 565, 509, 569, 606, 642, 697, 503, 562, 500, 565, 572, 627, 502, 671, 624, 587, 662, 561, 504, 618, 531, 680, 660, 567, 645, 611, 618, 527, 617, 688, 513, 692, 612, 682, 517, 690, 583, 626, 580, 608, 513, 577, 658, 634, 644, 588, 692, 634, 538, 611, 554, 538, 600, 602, 699, 538, 631, 542, 564, 568, 591, 664, 528, 591, 693, 679, 649, 533, 694, 562, 668, 574, 652, 669, 700, 508, 680, 600, 568, 509, 685, 583, 514, 536, 525, 624, 671, 539, 665, 700, 700, 533, 697, 560, 665, 648, 538, 509, 690, 695, 681, 615, 646, 587, 538, 612, 611, 697, 652, 688, 645, 668, 650, 503, 628, 563, 517, 568, 652, 518, 592, 559, 688, 594, 549, 678, 565, 571, 575, 691, 641, 568, 644, 689, 625, 616, 632, 694, 612, 639, 671, 621, 665, 502, 505, 596, 547, 591, 588, 553, 508, 581, 514, 534, 533, 526, 667, 548, 541, 566, 511, 520, 682, 645, 634, 624, 693, 630, 674, 544, 700, 544, 577, 656, 548, 636, 680, 641, 504, 554, 587, 683, 541, 542, 639, 505, 607, 517, 656, 529, 572, 584, 606, 690, 624, 589, 516, 675, 542, 656, 660, 697, 668, 628, 523, 597, 554, 615, 681, 534, 602, 583, 689, 636, 633, 550, 583, 612, 647, 658, 627, 597, 553, 647, 588, 648, 580, 548, 594, 536, 513, 700, 651, 573, 691, 681, 550, 683, 572, 619, 590, 509, 633, 562, 694, 694, 679, 537, 542, 637, 510, 566, 533, 596, 619, 688, 529, 673, 545, 551, 550, 548, 629, 511, 561, 538, 513, 599, 549, 561, 517, 632, 541, 637, 636, 604, 563, 618, 630, 659, 640, 622, 666, 661, 626, 524, 698, 589, 655, 621, 554, 603, 683, 526, 684, 678, 589, 640, 553, 608, 698, 550, 637, 604, 521, 526, 661, 649, 606, 577, 549, 688, 626, 668, 672, 619, 664, 608, 505, 609, 519, 680, 592, 681, 597, 502, 534, 662, 551, 619, 525, 591, 512, 634, 677, 656, 694, 642, 651, 681, 694, 668, 643, 549, 619, 600, 624, 545, 582, 890234, 672, 699, 549, 571, 688, 542, 691, 533, 670, 603, 583, 670, 550, 544, 500, 596, 700, 551, 535, 639, 634, 630, 592, 647, 518, 692, 566, 581, 645, 573, 685, 623, 533, 549, 535, 675, 637, 504, 500, 629, 508, 501, 654, 566, 675, 535, 640, 552, 510, 676, 597, 641, 567, 547, 517, 506, 563, 577, 542, 588, 575, 590, 625, 649, 564, 514, 517, 666, 591, 569, 690, 534, 672, 642, 505, 619, 566, 637, 570, 521, 582, 546, 626, 539, 501, 512, 636, 533, 545, 532, 608, 658, 589, 626, 608, 520, 688, 663, 615, 521, 571, 551, 520, 510, 531, 654, 659, 644, 588, 565, 651, 647, 630, 628, 642, 679, 539, 645, 616, 628, 639, 532, 576, 563, 597, 586, 683, 580, 594, 631, 656, 678, 661, 606, 595, 624, 649, 640, 624, 700, 618, 502, 590, 671, 515, 561, 647, 698, 682, 687, 513, 593, 655, 548, 668, 687, 532, 653, 529, 601, 674, 698, 555, 650, 515, 614, 518, 569, 531, 612, 564, 503, 647, 500, 635, 696, 611, 610, 586, 670, 588, 607, 649, 664, 594, 517, 685, 540, 502, 533, 585, 654, 700, 519, 627, 586, 674, 616, 614, 625, 634, 658, 574, 667, 593, 582, 547, 604, 645, 552, 574, 633, 605, 640, 629, 662, 661, 676, 512, 613, 537, 570, 548, 568, 605, 622, 670, 693, 647, 660, 500, 644, 614, 551, 642, 660, 637, 652, 573, 560, 672, 613, 645, 601, 688, 657, 617, 665, 588, 579, 562, 630, 567, 539, 548, 571, 680, 675, 550, 634, 677, 576, 603, 691, 675, 683, 537, 559, 637, 512, 699, 623, 594, 538, 678, 508, 571, 642, 524, 515, 567, 570, 607, 582, 683, 680, 624, 623, 666, 522, 632, 620, 558, 526, 631, 539, 600, 686, 604, 628, 632, 613, 646, 554, 616, 680, 577, 595, 606, 511, 639, 507, 662, 644, 508, 585, 680, 626, 522, 647, 679, 519, 590, 571, 541, 550, 591, 572, 695, 688, 661, 647, 626, 535, 688, 656, 688, 645, 634, 535, 569, 526, 524, 536, 611, 691, 656, 542, 520, 665, 679, 589, 509, 641, 542, 569, 621, 583, 559, 590, 649, 683, 599, 520, 684, 629, 519, 539, 506, 511, 615, 689, 625, 635, 680, 547, 557, 561, 644, 512, 624, 648, 656, 651, 659, 582, 676, 685, 576, 576, 656, 694, 675, 683, 547, 645, 645, 558, 660, 639, 592, 682, 693, 591, 663, 645, 688, 677, 569, 587, 614, 561, 638, 598, 521, 545, 620, 671, 523, 534, 553, 573, 618, 680, 529, 670, 513, 559, 659, 596, 545, 552, 651, 589, 636, 627, 525, 588, 662, 685, 577, 655, 605, 503, 585, 622, 569, 511, 629, 584, 682, 651, 663, 514, 518, 540, 584, 550, 681, 588, 607, 586, 540, 688, 541, 651, 611, 546, 525, 632, 652, 657, 567, 574, 505, 506, 632, 609, 663, 522, 675, 579, 682, 700, 680, 566, 647, 524, 554, 610, 602, 633, 513, 606, 565, 654, 684, 509, 629, 694, 595, 650, 506, 501, 667, 688, 590, 602, 587, 554, 621, 552, 581, 621, 563, 562, 687, 672, 605, 636, 633, 545, 532, 654, 620, 561, 605, 574, 628, 556, 674, 689, 545, 617, 559, 513, 693, 587, 519, 582, 635, 586, 611, 599, 564, 691, 595, 508, 694, 599, 576, 513, 597, 520, 504, 521, 664, 533, 546, 679, 504, 563, 522, 700, 522, 588, 597, 572, 595, 644, 572, 504, 582, 556, 615, 658, 640, 657, 667, 509, 698, 539, 596, 589, 639, 559, 564, 629, 680, 694, 670, 688, 620, 506, 682, 530, 557, 640, 594, 528, 585, 648, 524, 517, 555, 567, 510, 603, 507, 529, 519, 504, 580, 599, 696, 534, 649, 665, 538, 639, 521, 527, 588, 521, 583, 641, 597, 606, 655, 528, 633, 697, 614, 668, 549, 502, 506, 640, 606, 672, 516, 627, 594, 507, 615, 571, 509, 648, 530, 594, 664, 567, 659, 543, 570, 653, 559, 534, 646, 606, 524, 562, 565, 595, 633, 597, 641, 603, 638, 589, 616, 592, 645, 592, 641, 638, 587, 665, 536, 516, 509, 632, 594, 675, 547, 500, 586, 558, 693, 566, 699, 661, 688, 664, 603, 576, 657, 669, 662, 601, 655, 557, 656, 539, 593, 596, 506, 524, 695, 612, 504, 626, 603, 616, 681, 548, 501, 522, 569, 655, 631, 621, 691, 596, 540, 531, 558, 565, 683, 611, 564, 614, 513, 621, 520, 559, 689, 530, 596, 620, 666, 645, 697, 634, 693, 699, 676, 566, 700, 643, 581, 605, 517, 556, 685, 677, 533, 515, 532, 682, 588, 661, 667, 674, 562, 601, 621, 551, 509, 699, 531, 540, 500, 694, 605, 603, 509, 676, 672, 680, 649, 649, 584, 511, 502, 692, 618, 597, 684, 613, 503, 654, 536, 635, 651, 608, 579, 560, 560, 597, 520, 538, 677, 660, 651, 636, 598, 635, 506, 623, 504, 646, 513, 560, 584, 582, 691, 613, 646, 524, 642, 648, 590, 512, 597, 591, 540, 692, 631, 583, 690, 512, 633, 682, 535, 572, 676, 504, 574, 507, 539, 570, 630, 699, 578, 648, 554, 580, 507, 645, 531, 592, 623, 523, 647, 656, 685, 524, 644, 591, 548, 528, 555, 539, 646, 635, 649, 663, 643, 579, 640, 538, 594, 640, 533, 567, 557, 696, 559, 556, 549, 611, 575, 677, 676, 593, 628, 666, 680, 585, 598, 588, 504, 563, 533, 571, 539, 677, 640, 512, 535, 547, 648, 595, 563, 596, 601, 648, 585, 562, 623, 640, 650, 505, 610, 535, 655, 516, 694, 669, 578, 670, 690, 619, 662, 598, 570, 522, 563, 689, 575, 563, 523, 574, 659, 691, 573, 622, 543, 520, 526, 548, 504, 599, 606, 640, 630, 566, 662, 695, 529, 589, 516, 693, 507, 686, 681, 588, 648, 667, 520, 576, 599, 663, 694, 657, 695, 506, 656, 659, 511, 595, 518, 548, 667, 534, 624, 627, 652, 670, 535, 594, 598, 534, 658, 545, 532, 671, 536, 513, 508, 556, 504, 681, 618, 504, 577, 620, 584, 694, 580, 587, 607, 541, 678, 635, 591, 504, 614, 636, 532, 544, 588, 504, 590, 691, 501, 528, 592, 510, 587, 501, 569, 622, 676, 523, 516, 527, 596, 662, 606, 660, 554, 556, 675, 635, 583, 638, 616, 552, 517, 596, 504, 523, 636, 660, 544, 672, 604, 618, 615, 565, 516, 545, 628, 595, 669, 683, 661, 541, 581, 573, 690, 602, 676, 560, 593, 649, 531, 523, 661, 579, 664, 670, 579, 505, 673, 631, 695, 577, 653, 514, 556, 651, 530, 664, 559, 630, 699, 506, 696, 653, 674, 636, 618]
У овој листи има преко 10.000 података:
len(zarade)
Просечна зарада у компанији је:
prosek(zarade)
Међутим, медијана овог низа је:
medijana(zarade)
Дакле, просечна зарада у компанији је око 3912 америчких долара, али медијана свих зарада је 600 америчких долара. То значи да половина запослених у тој компанији има зараду која износи 600 америчких долара или мање. Како је то могуће?
Да бисмо схватили шта се десило, морамо да извршимо детаљнију анализу.
4.3. Филтрирање података¶
Филтрирати податке значи из датог низа података издвојити оне који су нам на неки начин интересантни.
Да бисмо схватили како је могуће да је у претходном примеру просечна зарада шест пута већа од медијалне, филтрираћемо натпросечне зараде. Филтрирање листе у Пајтону се може постићи конструкцијом која изгледа овако:
[x for x in Lista if Uslov(x)]
Ова конструкција у нову листу покупи све елементе x
листе Lista
који испуњавају Uslov
. То је као кад у математици напишемо:
Нама су у претходном примеру интересантне зараде које су изнад просека. Да бисмо видели колико их има и које су то зараде прво ћемо просечну зараду сместити у променљиву и онда ћемо филтрирати листу zarade
:
prosecna_zarada = prosek(zarade)
natprosecne_zarade = [x for x in zarade if x >= prosecna_zarada]
Натпросечне зараде су:
natprosecne_zarade
и видимо да их има свега
len(natprosecne_zarade)
Дакле, у овој компанији 12 запослених има огромне зараде, а 10.000 запослених има зараде које су испод просека. Ових дванаест несразмерно високих зарада повећава просек и даје утисак да "просечна зарада у овој кокмпанији и није толико лоша", иако је стварно стање знатно лошије.
Ситуације у којима се медијана јако разликује од просека нам говоре да су подаци изузетно неравномерни и да је потребно уложити додатни напор да би се схватило какво стање они описују.
4.4. Приказивање података, њиховог просека и њихове медијане¶
Један начин да видимо однос просека и медијане и како они представљају податке је да ситуацију визуелизујемо.
Кренимо од једног једноставног примера. Претпоставимо да је на полугодишту један ученик имао следеће оцене из наведених предмета:
Предмет | Оцена |
---|---|
Математика | 2 |
Српски | 4 |
Ликовно | 5 |
Историја | 3 |
Физичко | 5 |
Музичко | 4 |
Техничко | 5 |
Податке можемо представити помоћу две листе, овако:
predmeti = ["mat", "srp", "lik", "ist", "fiz", "muz", "tio"]
ocene = [2, 4, 5, 3, 5, 4, 5 ]
Желимо да прикажемо његове оцене хистограмом и да просечна оцена буде означена црвеном линијом како бисмо могли да видимо које оцене су изнад просека, а које испод.
Прво ћемо учитати библиотеку за цртање графикона:
import matplotlib.pyplot as plt
Хистограм са оценама можемо да нацртамо веома једноставно:
plt.figure(figsize=(10,5))
plt.bar(predmeti, ocene)
plt.title("Ocene na polugodistu")
plt.show()
plt.close()
Сада желимо да преко хистограма нацртамо црвену линију која представља просечну оцену. Прво ћемо израчунати просечну оцену po
:
po = prosek(ocene)
а онда ћемо на горњи дијаграм додати и низ података који изгледа овако:
[po, po, po, po, po, po, po]
plt.figure(figsize=(10,5))
plt.bar(predmeti, ocene)
plt.plot(predmeti, [po, po, po, po, po, po, po], color="r")
plt.title("Ocene na polugodistu")
plt.show()
plt.close()
Ако један исти податак s
треба поновити n
пута можемо да пишемо као горе:
[s, s, s, (и тако даље)]
али можемо да то запишемо краће овако:
[s]*n
Ознаком [s]*n
смо Пајтону рекли да желимо да направимо нови низ који се добија тако што се низ [s]
"умножи" n
пута. На пример, [5]*7 = [5, 5, 5, 5, 5, 5, 5]
. (Такође је [6, 7, 8]*3 = [6, 7, 8, 6, 7, 8, 6, 7, 8]
, али нам ово за сада неће бити потребно.)
Тако добијамо следећу верзију програма:
plt.figure(figsize=(10,5))
plt.bar(predmeti, ocene)
plt.plot(predmeti, [po] * len(ocene), color="r")
plt.title("Ocene na polugodistu")
plt.show()
plt.close()
За крај ћемо дијаграму додати легенду:
plt.figure(figsize=(10,5))
plt.bar(predmeti, ocene, label="ocene")
plt.plot(predmeti, [po] * len(ocene), color="r", label="prosek")
plt.title("Ocene na polugodistu")
plt.legend()
plt.show()
plt.close()
Сада ћемо да визуелизујемо зараде у компанији о којој смо говорили у претходним одељцима. (Листа са којом радимо је веома велика, тако да ово може потрајати! Само храбро и стрпљиво!)
n = len(zarade)
plt.bar(range(n), zarade)
plt.show()
plt.close()
Дакле, ништа се не види.
Мораћемо да повећамо дијаграм и да прибегнемо још једном лукавству. Пошто ми већ знамо да је просечна зарада око 3912 америчких долара и да има само 12 запослених у тој компанији који примају толико или више, ограничићемо вредности које се приказују на $y$-оси. Одмах ћемо приказати и просек црвеном линијом.
n = len(zarade)
plt.figure(figsize=(15,5))
plt.bar(range(n), zarade, color="b")
plt.plot([0, n-1], [prosecna_zarada, prosecna_zarada], color="r")
plt.ylim(0,6000)
plt.show()
plt.close()
На овом дијаграму се јасно види како су несразмерно велике зараде неколицине запослених "повукле просек за собом".
Погледајмо сада где је медијана. Њу ћемо представити као дијаграм са само једним црвеним стубићем на средини низа.
n = len(zarade)
plt.figure(figsize=(15,5))
plt.bar(range(n), zarade, color="b")
plt.bar([n//2], [zarade[n//2]], color="r")
plt.ylim(0,6000)
plt.show()
plt.close()
Где је црвена цртица?
Пошто на релативно малом простору приказујемо преко 10.000 података појединачни стубићи су јако уски и стубић који представља медијану се не види. Да бисмо је истакли променићемо ширину стубића опцијом width
.
n = len(zarade)
plt.figure(figsize=(15,5))
plt.bar(range(n), zarade, color="b")
plt.bar([n//2], [zarade[n//2]], color="r", width=100)
plt.ylim(0,6000)
plt.show()
plt.close()
4.5. Задаци¶
Задатке уради у Џупитеру.
Задатак 1. Једна збирка кратких прича за децу има 12 страна - по једна прича на свакој страни. Приче имају мали број речи, и то, по странама: 271, 354, 296, 301, 333, 326, 285, 298, 327, 316, 287 и 314. Колики је просечан број речи по причи у овој књизи?
Задатак 2.
(а) Мирко из музичког има 5, 4, 5 и још једну оцену која се не види јер се преко ње разлило мастило. Просек његових оцена из музичког је 4. Која је то оцена преко које се разлило мастило?
(б) Колико још петица Мирко треба да добије да би наставница музичког за крај године морала да му закључи оцену 5? (Према Правилнику о оцењивању у основним школама, ако је просек оцена уписаних у дневник 4,50 или више, наставник мора да закључи оцену 5.)
(Помоћ: решење задатка под (а) израчунај - за то ти не треба Пајтон; решење задатка под (б) можеш да израчунаш, али можеш и да га погодиш тако што ћеш експериментисати са разним могућностима Миркових оцена из музичког - користи функцијe prosek
и round
.)
Задатак 3. Петар у дневнику има неколико оцена из информатике, свакако мање од 10. Знамо да су 25% његових оцена из информатике петице, а 12,5% његових оцена су тројке.
(а) Колико оцена из информатике има Петар у дневнику?
(б) Колико Петар има петица, а колико тројки из информатике?
(в) Колики је просек његових оцена из информатике, ако знамо да нема ниједну јединицу и ниједну двојку?
Задатак 4. Веснине оцене из информатике су дате у следећем низу:
vesna_ocene = [5, 5, 4, 5, 4, 3, 4, 5, 5, 5]
Нека је po
променљива у коју смо сместили просек Весниних оцена:
po = prosek(vesna_ocene)
Погледај пажљиво следећу ћелију, па одговори на питања након ње:
plt.figure(figsize=(15,7))
plt.bar(range(1,11), vesna_ocene, label="ocene")
plt.plot(range(1,11), [po] * 10, color="r", label="prosek")
plt.title("Vesnine ocene iz informatike")
plt.legend()
plt.show()
plt.close()
- Чему служи наредба
plt.figure(figsize=(15,7))
? - Чему служи функција
range
? - Чему служи наредба
legend
? Какве она има везе са параметромlabel
у функцијамаbar
иplot
? - Како би променио димензије графикона тако да он буде квадратног облика?
- Како би променио боју стубића у зелену?
- Шта значи израз
[po] * 10
и чему он служи у програму? - Како би уклонио легенду са графикона?
Задатак 5. Прикажи хистограмом Петрове оцене из информатике једном бојом (то је онај Петар из Задатка 3), његову просечну оцену из информатике другом бојом, а медијану његових оцена трећом бојом. Направи легенду на дијаграму.
Задатак 6. Првих десет места на АТП листи на дан 21.7.2019. изгледа овако:
teniseri = ["Đoković", "Nadal", "Federer", "Thiem", "Zverev", "Tsipras", "Nishikori", "Khachanov", "Fognini", "Medvedev"]
poeni = [12415, 7945, 7460, 4595, 4325, 4045, 4040, 2890, 2785, 2625]
(а) Прикажи хистограмом податке о АТП поенима првих десет тенисера на свету, а црвеном линијом прикажи просечан број поена првих десет играча на АТП листи.
(б) Колико од њих је изнад просека?
Задатак 7. У Задатку 4 су дате Веснине оцене из информатике. Хистограмом прикажи колико свака од оцена одступа од просека. Следећи Пајтон програмчић ће ти помоћи:
odstupanje = [0] * len(vesna_ocene) # овим смо направили низ нула, само да резервишемо простор
for i in range(len(vesna_ocene)):
odstupanje[i] = vesna_ocene[i] - po